A Compile-Time Infrastructure for GCC Using Haskell (extended version)

نویسندگان

  • Peter Collingbourne
  • Paul H J Kelly
چکیده

This project aims to improve the metaprogramming and verification capabilities of the GNU Compiler Collection. It consists of a plugin infrastructure that exposes two compile-time mechanisms. The first of these is a mechanism by which one may perform arbitrary computations over types within the context of the C++ template metaprogramming infrastructure. The second of these exposes selected portions of the control flow graph and basic block statements of Low GIMPLE, with additional support infrastructure that allows for data-flow analysis of the resultant structure. The plugins themselves are written in Haskell, reflecting the functional nature of both C++ template metaprogramming and standard data-flow analysis. We demonstrate the effectiveness of our technique using specific case studies in the field of session types.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Compile-Time Infrastructure for GCC Using Haskell

This project aims to improve the metaprogramming and verification capabilities of the GNU Compiler Collection. It consists of a plugin infrastructure that exposes two compile-time mechanisms. The first of these is a mechanism by which one may perform arbitrary computations over types within the context of the C++ template metaprogramming infrastructure. The second of these exposes selected port...

متن کامل

Safe Zero-cost Coercions for Haskell (extended version)

Generative type abstractions – present in Haskell, OCaml, and other languages – are useful concepts to help prevent programmer errors. They serve to create new types that are distinct at compile time but share a run-time representation with some base type. We present a new mechanism that allows for zero-cost conversions between generative type abstractions and their representations, even when s...

متن کامل

Safe Zero - cost Coercions for Haskell ( extended version ) 1

Generative type abstractions – present in Haskell, OCaml, and other languages – are useful concepts to help prevent programmer errors. They serve to create new types that are distinct at compile time but share a run-time representation with some base type. We present a new mechanism that allows for zero-cost conversions between generative type abstractions and their representations, even when s...

متن کامل

Optimizing real world applications with GCC Link Time Optimization

GCC has a new infrastructure to support a link time optimization (LTO). The infrastructure is designed to allow linking of large applications using a special mode (WHOPR) which support parallelization of the compilation process. In this paper we present overview of the design and implementation of WHOPR and present test results of its behavior when optimizing large applications. We give numbers...

متن کامل

System FC with Explicit Kind Equality (extended version)

System FC, the core language of the Glasgow Haskell Compiler, is an explicitly-typed variant of System F with first-class type equality proofs called coercions. This extensible proof system forms the foundation for type system extensions such as type families (typelevel functions) and Generalized Algebraic Datatypes (GADTs). Such features, in conjunction with kind polymorphism and datatype prom...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008